package com.cskaoyan.javase.junit._1basic;

/**
 * 为什么Junit的使用最好不要在一个Test类中呢?
 * 由于Junit的测试方法需要使用注解@Test,其中Test是注解的名字,相当于类名
 * 而注解和类是同等级别的数据类型
 * 所以如果直接在Test类中,写注解@Test,会优先选择使用自身类Test作为一个注解
 * 但是Test类本身就不是注解,而且也不是我们想要的那个注解Test
 * 这肯定是不可行的!这也是一种就近原则.
 *
 * 如何解决?如果非要在Test类中使用注解Test咋办呢?
 * 因为我要使用的注解Test是org.junit包下的Test注解,而不是自身的类Test
 * 所以在写注解时,就不能简单写注解的名字了
 * 要带上包名
 *
 * 由于在Java中,同包下绝不可能存在同名类(注解)
 *      所以包名+类名(注解名)是可以唯一的确定一个类(注解)的
 * 我们把直接写"类名"的形式,称之为"简单类名"
 * 而把"包名+类名"的形式,称之为"全限定类名",全限定类名的作用是唯一确定一个类
 *
 *
 * @since 17:17
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Test {
    // 这里不能使用简单类名,要使用全限定类名
    @org.junit.Test
    public void test() {
        System.out.println("hello world!");
    }
}
